192. 自建的k8s拉取private registry

前言

開發環境上,之前拉得都是另一個專案的registry,
現在有個全新的專案,理所當然image應該拉去另一個地方的GAR。

正文

  1. 首先到IAM裏面,申請一個ServiceAccount,
    然後給權限,可以只給 Artifact Registry讀取者就好。
    然後產生金鑰,名稱為gar-push-bms.json

192-fig.1.jpg

  1. 建立screct,名稱取名爲gar-pull
    stackoverflow的說明指出,該email是沒在用的,所以可以隨便打。
kubectl create secret docker-registry gar-pull \
  --docker-server "https://asia-east1-docker.pkg.dev" \
  --docker-username _json_key \
  --docker-email gar-pull@.iam.gserviceaccount.com \
  --docker-password="$(cat gar-push-bms.json)"
  1. deployment的yaml設定
  imagePullSecrets:
  - name: gar-pull

記得,如果在不同的namespace,需重新建立新的secret。

ref.